package com.example.memo;

import android.os.Bundle;
import android.view.Window;

import androidx.appcompat.app.AppCompatActivity;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;

import com.example.memo.databinding.ActivityMainBinding;
import com.google.android.material.bottomnavigation.BottomNavigationView;

public class MainActivity extends AppCompatActivity {

//    ActivityMainBinding类是在布局文件中自动生成的数据绑定类,都称呼为视图绑定
private ActivityMainBinding binding;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // setContentView(R.layout.activity_main);
        //准备数据绑定
        //inflate()方法获取视图绑定的类（该类基于指定布局的命名约定自动生成）
        //并使用getRoot()方法获取根布局作为Activity的内容视图
        binding=ActivityMainBinding.inflate(getLayoutInflater());
        //将布局设置为Activity的ContentView
        setContentView(binding.getRoot());
        //AppBarConfiguration是NavigationUI提供的一个用于为ActionBar或ToolBar提供向上导航功能并指定顶层目的地的辅助类。
        // 在上述代码中，我们通过AppBarConfiguration.Builder()方法指定了Activity所支持的所有目的地。
        BottomNavigationView navView = findViewById(R.id.nav_view);
        AppBarConfiguration appBarConfiguration=new AppBarConfiguration.Builder(R.id.navigation_note,R.id.navigation_wait).build();
        //使用Navigation.findNavController()方法获取MainActivity的NavController实例，将生成新的用户界面呈现的网格（比如按钮，列表项等）称为“目的地”，
        // 并确保它们使用唯一的ID进行标识。然后，使用NavigationUI中提供的两个静态方法setupActionBarWithNavController()和setupWithNavController()
        // 将NavController实例与AppBar和BottomNavigationView相关联。更具体地说，setupActionBarWithNavController()方法为AppBar提供上导航功能，
        // 并调整的向上箭头的目的地页面，而setupWithNavController()方法为BottomNavigationView提供向导航功能。
        NavController navController= Navigation.findNavController(this,R.id.nav_host_fragment_activity_main);
        NavigationUI.setupActionBarWithNavController(this,navController,appBarConfiguration);
        NavigationUI.setupWithNavController(binding.navView,navController);


    }

    public void initView(){

    }
    public void initData(){
    }
}